/*
 * IElementImage.h
 *
 *  Created on: 26.06.2012
 *      Author: Caffeine
 */

#ifndef IELEMENTIMAGE_H_
#define IELEMENTIMAGE_H_

#include <irrlicht.h>

namespace irr {
namespace gui {

enum MarginSide{
	mTOP=1,
	mBOTTOM,
	mLEFT,
	mRIGHT
};

class IElementImage: public irr::IReferenceCounted {
public:

	/*
	* Рисует данный рисунок с помощью указанного драйвера с учётом всех указанных растяжений
	*
	* @param driver драйвер, с помощью которого нужно рисовать текстуру
	* @param rect прямоугольник, в котором нужно нарисовать текстуру
	*/
	virtual void render(irr::video::IVideoDriver*driver,irr::core::recti rect)=0;
	static const int MARGIN_TOP=1;
	static const int MARGIN_BOTTOM=2;
	static const int MARGIN_LEFT=3;
	static const int MARGIN_RIGHT=4;
	virtual irr::u32 getMargin(MarginSide type)=0;
};

} /* namespace gui */
} /* namespace irr */
#endif /* IELEMENTIMAGE_H_ */
